package pers.zh.parking.di.component;

import dagger.BindsInstance;
import dagger.Component;

import com.jess.arms.di.component.AppComponent;

import pers.zh.parking.di.module.ParkModule;
import pers.zh.parking.mvp.contract.ParkContract;

import com.jess.arms.di.scope.ActivityScope;

import pers.zh.parking.mvp.ui.activity.ParkActivity;

@ActivityScope
@Component(modules = ParkModule.class, dependencies = AppComponent.class)
public interface ParkComponent {

    void inject(ParkActivity activity);

    @Component.Builder
    interface Builder {

        @BindsInstance
        ParkComponent.Builder view(ParkContract.View view);

        ParkComponent.Builder appComponent(AppComponent appComponent);

        ParkComponent build();
    }
}